using System;
using System.Collections.Generic;
using System.Text;
using Domain.pe.com.workspace;
using DAO.pe.com.workspace.oficina;
using DAO.pe.com.workspace.usuario;
using Common.Logging;
using System.Collections;
using Spring.Transaction.Interceptor;

namespace BusinessLogic.pe.com.workspace.registro.impl
{
   public class RegistroFacturaImpl : RegistroFactura

    {

       private static ILog logger = LogManager.GetLogger(typeof(RegistroFacturaImpl));

       private DetalleFacturaDAO detalleFacturaDAO;

       public DetalleFacturaDAO DetalleFacturaDAO
       {
           get { return detalleFacturaDAO; }
           set { detalleFacturaDAO = value; }
       }

       private FacturaDAO facturaDAO;

       public FacturaDAO FacturaDAO
       {
           get { return facturaDAO; }
           set { facturaDAO = value; }
       }

       [Transaction()]
       public void registrarFactura(Factura factura)
       {


            logger.Debug("RegistrandoFactura mi  cambio TYUT");

           

            int idFactura = FacturaDAO.registrarFactura(factura);
            IList listaDetalleFactura = factura.ListaDetalleFactura;
            foreach (DetalleFactura detalleFactura in listaDetalleFactura)
            {
                detalleFactura.IdFactura = idFactura;
                DetalleFacturaDAO.registrarDetalleFactura(detalleFactura);
            }
		
        }

       public Factura obtenerFactura(int idFactura) {
           Factura factura = facturaDAO.obtenerFactura(idFactura);
           IList listaDetalleFactura = DetalleFacturaDAO.obtenerDetalleFactura(idFactura);
           logger.Info("Numero de detalels " + listaDetalleFactura.Count);
           factura.ListaDetalleFactura = listaDetalleFactura;
           return factura;
       }
       
    }
}
